package io.renren.service;

import io.renren.entity.*;
import io.renren.vo.RespModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by ThinkPad on 2018/12/3.
 */
public interface CgsBusinessService {

    List<Map> queryReservations(String bookType);

    List<Map> queryCgsInfoList(String type);

    List<Map> queryUserReservations(CgsBookInfo cgsBookInfo);

    Integer saveBusinessBookInfo(CgsBookInfo cgsBookInfo);

    Integer cancelBookInfo(String bookId);

    List<Map> queryBookTimeReservations(CgsBookInfo cgsBookInfo);

    Integer updateBookInfoArrival(CgsBookInfo cgsBookInfo);

    List<Map> queryBusinessDetail(Map paramMap);

    RespModel savePostInfo(CgsPolicePost cgsPolicePost);

    List<CgsPolicePost> queryMyPolicePostInfo(String userid);

    Integer insertReconsiderInfo(CgsReconsider cgsReconsider);

    List<CgsReconsider> queryMyReconsiderList(String userid);

    Integer insertPassportApply(CgsPassportApply cgsPassportApply);

    Integer getSequenceNumber();

    Integer insertPassportApplyToOracle(CgsPassportApply cgsPassportApply);

    List<CgsPassportApply> queryMyPassportApply(String userId);

    Integer insertCgsEprInfoBusCheck(CgsEprBusCheck cgsEprBusCheck);

    List<CgsEprBusCheck> queryMyCgsEprInfoBusCheckList(String userId);

    List<Map> queryCgsBusinessTopicList(String businessType);

    List<Map> queryCgsBusinessTopicDetail(String id);

    List<Map> queryPassportTypeList();

    List<CgsPassportApply> queryMyPassportApplyByOracle(List<String> xhList);

    void updateStatus(CgsPassportApply cgsPassportApply);

    List<Map<String,Object>> queryPassportTypeList1(@Param("auditDept") String auditDept);

    List<Map<String,Object>> queryPassportTypeList2(@Param("passportId") String passportId);

    List<RuleAreaEntity> queryRuleArea(@Param("auditDept") String auditDept);

    List<RuleLineEntity> queryRuleLine(@Param("auditDept") String auditDept);

    List<RoadMsgEntity> queryRoadMsgInfo(@Param("auditDept") String auditDept);

    List<Map> getDictValuesList(String type);

    Integer insertAccidentCheck(CgsAccidentCheck cgsAccidentCheck);

    List<CgsAccidentCheck> queryAccidentCheckList(String userId);

    List<Map> queryPolicePostFee(Map paramMap);

    /**
     * 主动方式更新订单支付状态成功
     * @param orderNum
     * @return
     * @throws Exception
     */
    int setPostPaySuc(String orderNum,String wxOrderNum,String payTime);

    int setPostPayTk(String orderNum, String wxOrderNum, String payTime);

    int insertCgsQuestion(CgsQuestion cgsQuestion);

    List<Map> getMyQuestionList(String userId);

    Map getHotQuestionList(int pageNo,int pageSize);

    Integer insertCgsAppeal(CgsAppeal cgsAppeal);

    List<CgsAppeal> getMyCgsAppealList(String userId);

    List<Map> queryCgsBusinessTopicDetailByBusinessId(String businessId);

}
